package com.pyl.admin.system.service;

import java.util.List;

import com.baomidou.mybatisplus.service.IService;
import com.github.pagehelper.PageInfo;
import com.pyl.admin.core.enums.StatusEnum;
import com.pyl.admin.system.entity.SysRole;
import com.pyl.admin.system.validator.RoleForm;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 灵魂贰婶
 * @since 2019-06-28
 */
public interface SysRoleService extends IService<SysRole> {

	/**
	 * 根据用户id查询用户角色
	 * 
	 * @param id
	 * @param valueOf
	 * @return
	 */
	List<SysRole> selectUserRoleList(Long id, Integer valueOf);

	/**
	 * 分页获取角色
	 * 
	 * @param current 当前页码
	 * @param query   查询条件
	 * @return
	 */
	PageInfo<SysRole> selectRoelList(Integer current, String query);

	/**
	 * 更新角色
	 * 
	 * @param roleForm
	 * @return
	 */
	boolean saveOrUpdate(RoleForm roleForm);

	/**
	 * 根据角色id查询角色以及菜单
	 * 
	 * @param id 角色id
	 * @return
	 */
	SysRole selectRoleMenuById(Long id);

	/**
	 * 修改数据状态
	 * 
	 * @param statusEnum 数据状态
	 * @param idList 角色id集合
	 * @return
	 */
	boolean updateStatus(StatusEnum statusEnum, List<Long> idList);

}
